<!DOCTYPE html>
<html lang="zh_CN">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>铜豌豆 Linux -- 镜像</title>
    <!-- 包含头部信息适应不同设备 -->
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 包含bootstrap 样式表-->
  <link rel="stylesheet" href="https://cdn.atzlinux.com/bootstrap-4.3.1-dist/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<!--#include file="header.htm"-->
<hr>
<h2>铜豌豆 Linux -- 镜像</h2>
欢迎给《铜豌豆 Linux》建立软件源镜像和 iso 镜像。
镜像本身使用 GPL2 版权协议；各个软件包的版权，使用其各自软件包的版权协议。
<ul>
<li>软件源镜像</li>
铜豌豆 Linux 软件源镜像搭建方式，目前正在测试中，本文档内容不一保证完全正确。
欢迎大家反馈意见。
<ul>
	<li>目录名称为： atzlinux</li>
	<li>主站地址</li>
	https://fun.ie8.pub:2443/atzlinux
	<li>镜像软件</li>
铜豌豆 Linux 软件源本身使用标准的 Debian apt 方式搭建，理论上可以使用任何 apt 镜像软件来搭建镜像。
<p>
https://wiki.debian.org/DebianRepository/Setup#Debian_Repository_Mirroring_Tools
</p>
<li>镜像软件源配置</li>
<p>	推荐使用 apt-mirror 工具来进行镜像。</p>
<p>	该软件通过加载配置文件 /etc/apt/mirror.list 进行 apt 站点进行同步。该配置文件大概分成三部分，一是本地数据存放路径等变量配置；二是镜像软件源站点信息，该信息与 /etc/apt/sources.list 等 debian 系配置镜像站点类似，但是也有些不同。</p>
<p>	配置中，最重要的是地址信息。由于条件限制，当前 ATZLinux 镜像软件源并非运行在标准80和443端口，而是2443等非标准 HTTP/HTTPS 端口。而 apt-mirror 软件在读取配置过程中，即使配置了非标准端口的 apt 条目，依旧会直接使用标准协议的 HTTP 80 或者 HTTPS 443 端口进行数据拉取，因此也会导致最终 apt-mirror 镜像软件失败。</p>
<p>	基于此，整理配置思路如下：</p>

<ul>
<li>（1）选取同步机器，操作系统以 debian 系为主，安装 apt-mirror 和 nginx 软件。</li>
<li>（2）选择镜像源地址，例如：https://fun.ie8.pub:2443/atzlinux/。</li>
<li>（3）通过配置 nginx 实现，本地 http://fun.ie8.pub.local 到 https://fun.ie8.pub:2443/atzlinux/的反向代理。</li>
<li>（4）通过配置 apt-mirror，实现与本地 nginx 服务http://fun.ie8.pub.local 的数据拉取。</li>
</ul>
<pre>

配置文件：/etc/nginx/conf.d/fun.ie8.pub.conf，内容如下：

```
server {
	listen 80;
  server_name fun.ie8.pub.local;
	location ^~ /atzlinux {
    proxy_pass https://fun.ie8.pub:2443/atzlinux/;
    proxy_set_header Host fun.ie8.pub;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
  	proxy_ssl_protocols TLSv1.2 TLSv1.3;
  	proxy_ssl_ciphers 'HIGH:!aNULL:!MD5';
  	proxy_ssl_verify off;  # Set to 'on' if you have a valid certificate
		add_header X-Cache $upstream_cache_status;  
    access_log  /var/log/nginx/fun.ie8.pub.a.log;
    error_log  /var/log/nginx/fun.ie8.pub.e.log;
	}
}


```

</pre>



<pre>

配置文件：/etc/apt/mirror.list，内容如下：

```
############# config ##################
#set base_path    /var/spool/apt-mirror
set script_path    /var/spool/apt-mirror
set base_path    /data/apt-mirror
#
set mirror_path  $base_path/mirror
set skel_path    $base_path/skel
set var_path     $script_path/var
set cleanscript $var_path/clean.sh
set defaultarch  <running host architecture>
set postmirror_script $var_path/postmirror.sh
set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############
# 以镜像软件站点 https://fun.ie8.pub:2443/atzlinux/ 为例，配置如下：
deb-amd64 http://fun.ie8.pub.local/atzlinux/ bookworm main contrib non-free non-free-firmware
deb-src http://fun.ie8.pub.local/atzlinux/ bookworm main contrib non-free non-free-firmware
deb-i386 http://fun.ie8.pub.local/atzlinux/ bookworm main contrib non-free non-free-firmware
deb-arm64 http://fun.ie8.pub.local/atzlinux/ bookworm main contrib non-free non-free-firmware
deb-loong64 http://fun.ie8.pub.local/atzlinux/ bookworm main contrib non-free non-free-firmware
deb-riscv64 http://fun.ie8.pub.local/atzlinux/ bookworm main contrib non-free non-free-firmware
deb-amd64 http://fun.ie8.pub.local/atzlinux/ bullseye  main contrib non-free non-free-firmware
deb-arm64 http://fun.ie8.pub.local/atzlinux/ bullseye  main contrib non-free non-free-firmware

#deb-amd64 http://home.taotieren.com.local/atzlinux/ bookworm main contrib non-free non-free-firmware
#deb-i386 http://home.taotieren.com.local/atzlinux/ bookworm main contrib non-free non-free-firmware
#deb-arm64 http://home.taotieren.com.local/atzlinux/ bookworm main contrib non-free non-free-firmware
#deb-loong64 http://home.taotieren.com.local/atzlinux/ bookworm main contrib non-free non-free-firmware
#deb-riscv64 http://home.taotieren.com.local/atzlinux/ bookworm main contrib non-free non-free-firmware
#deb-amd64 http://home.taotieren.com.local/atzlinux/ bullseye  main contrib non-free non-free-firmware
#deb-arm64 http://home.taotieren.com.local/atzlinux/ bullseye  main contrib non-free non-free-firmware

clean http://fun.ie8.pub/atzlinux/
#clean http://home.taotieren.com.local/atzlinux/

```

</pre>


	<li>配置 web 服务</li>
	在机器 web 服务端上，加上对 apt-mirror 同步目录别名设置， 将 atzlinux 目录别名设置到 同步的数据目录。
	<li>同步频率</li>
	建议每天一次。取消/etc/cron.d/apt-mirror文件中的注释即可。
</ul>
<li>iso 镜像</li>
https://www.atzlinux.com/download-iso.htm#iso-mirrors
<hr>
<!--#include file="footer.htm"-->
</body>
</html>
